When the line immediately after a conditional has neither curly braces nor indentation, the intent of the code is unclear and perhaps not what is
executed. Additionally, such code is confusing to maintainers.
if (condition) // Noncompliant
doTheThing();
doTheOtherThing(); // Was the intent to call this function unconditionally?
It becomes even more confusing and bug-prone if lines get commented out.
if (condition) // Noncompliant
// doTheThing();
doTheOtherThing(); // Was the intent to call this function conditionally?
Indentation alone or together with curly braces makes the intent clear.
if (condition)
doTheThing();
doTheOtherThing(); // Clear intent to call this function unconditionally
// or
if (condition) {
doTheThing();
}
doTheOtherThing(); // Clear intent to call this function unconditionally
This rule raises an issue if the line controlled by a conditional has the same indentation as the conditional and is not enclosed in curly
braces.